package com.ysj.senioradvanced.Handler

class ActivityThread {
    companion object {

        /**
         * 模拟activityThread 入口
         */
        @JvmStatic
        fun main(args: Array<String>) {
            //模拟主线程 loop
            Thread(){
                MyLooper.loop()
            }.start()

            //创建 activityThread
            val activityThread = ActivityThread()
            // 这个是测试  模拟 发消息
            activityThread.test()
        }
    }


    /**
     * handler 负责消息处理
     */
    val handler=MyHandler(object : MyHandler.CallBack{
        override fun handlerMessage(msg: MyMessage) {
            //实际处理逻辑
            println("收到了消息${msg.what}")
        }
    })


    //模拟发消息  每3秒一次
    fun test() {

        Thread(){
            var i=0
            while (true){
                handler.sendMsg(MyMessage(i,null))
                println("发送了消息$i")
                Thread.sleep(3000)
                i++
            }
        }.start()

    }


}